// ****************************************************************************
// @File: SingleObjWrapper.h
//
// PURPOSE: A wrapper class to wrapper all single object
// AUTHOR:  Zj Ai
//
// NOTES: 
//     
// HISTORY:
//
//   ------ Zj Ai  05/07/2012 creating the file
//
// @EndHeader@
// ****************************************************************************
#pragma once

#include "stdafx.h"
#include "GlobalDefinition.h"
#include "ObjectWrapper.h"

class CSingleObjWrapper : public CObjectWrapper
{
public:
	// add the m_count to add the ref and return the old value
	virtual int AddRef();	
	// minus the m_count to release the ref, if 0 then destroy it. return the old value	
	virtual int Release();

	virtual ~CSingleObjWrapper();
	CSingleObjWrapper(void* p, DESTORY_PROC destory, size_t memSize = 0);
};